]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
tests: Move assertArrayEquals to shared assertions file
authorEvan Welsh <contact@evanwelsh.com>
Mon, 10 Jul 2023 05:56:26 +0000 (22:56 -0700)
committerEvan Welsh <contact@evanwelsh.com>
Sat, 15 Jul 2023 02:35:56 +0000 (02:35 +0000)
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2822>

tests/common/assertions.js [new file with mode: 0644]
tests/unit/insertSorted.js
tests/unit/jsParse.js

diff --git a/tests/common/assertions.js b/tests/common/assertions.js
new file mode 100644 (file)
index 0000000..a43e559
--- /dev/null
@@ -0,0 +1,17 @@
+/* exported assertArrayEquals */
+
+const JsUnit = imports.jsUnit;
+
+/**
+ * Asserts if two arrays have the same length and each element passes assertEquals
+ *
+ * @template T
+ * @param {string} errorMessage an error message if the arrays are not equal
+ * @param {T[]} array1 the first array
+ * @param {T[]} array2 the second array
+ */
+function assertArrayEquals(errorMessage, array1, array2) {
+    JsUnit.assertEquals(`${errorMessage} length`, array1.length, array2.length);
+    for (let j = 0; j < array1.length; j++)
+        JsUnit.assertEquals(`${errorMessage} item ${j}`, array1[j], array2[j]);
+}
index 610aeed56c16a9ce9040c3b300b5c393907c70b6..9c0e6587240dbdd9969343ec98a43e60c92f597a 100644 (file)
@@ -2,7 +2,7 @@
 
 // Test cases for Util.insertSorted
 
-const JsUnit = imports.jsUnit;
+const Assertions = imports.common.assertions;
 
 // Needed so that Util can bring some UI stuff
 // we don't actually use
@@ -10,15 +10,6 @@ const Environment = imports.ui.environment;
 Environment.init();
 const Util = imports.misc.util;
 
-function assertArrayEquals(errorMessage, array1, array2) {
-    JsUnit.assertEquals(errorMessage + ' length',
-                        array1.length, array2.length);
-    for (let j = 0; j < array1.length; j++) {
-        JsUnit.assertEquals(errorMessage + ' item ' + j,
-                            array1[j], array2[j]);
-    }
-}
-
 function cmp(one, two) {
     return one-two;
 }
@@ -26,12 +17,12 @@ function cmp(one, two) {
 let arrayInt = [1, 2, 3, 5, 6];
 Util.insertSorted(arrayInt, 4, cmp);
 
-assertArrayEquals('first test', [1,2,3,4,5,6], arrayInt);
+Assertions.assertArrayEquals('first test', [1, 2, 3, 4, 5, 6], arrayInt);
 
 // no comparator, integer sorting is implied
 Util.insertSorted(arrayInt, 3);
 
-assertArrayEquals('second test', [1,2,3,3,4,5,6], arrayInt);
+Assertions.assertArrayEquals('second test', [1, 2, 3, 3, 4, 5, 6], arrayInt);
 
 let obj1 = { a: 1 };
 let obj2 = { a: 2, b: 0 };
@@ -48,7 +39,7 @@ let arrayObj = [obj1, obj3, obj4];
 // inserted before
 Util.insertSorted(arrayObj, obj2, objCmp);
 
-assertArrayEquals('object test', [obj1, obj2, obj3, obj4], arrayObj);
+Assertions.assertArrayEquals('object test', [obj1, obj2, obj3, obj4], arrayObj);
 
 function checkedCmp(one, two) {
     if (typeof one != 'number' ||
@@ -73,4 +64,4 @@ Util.insertSorted(arrayEmpty, 5, checkedCmp);
 Util.insertSorted(arrayEmpty, 2, checkedCmp);
 Util.insertSorted(arrayEmpty, 1, checkedCmp);
 
-assertArrayEquals('checkedCmp test', [1, 2, 3, 4, 5], arrayEmpty);
+Assertions.assertArrayEquals('checkedCmp test', [1, 2, 3, 4, 5], arrayEmpty);
index 468138b12abfb415b40b3ef9e41be4ba7e64707d..207c840df50c461cf9983606ba545ac9a4dc534a 100644 (file)
@@ -4,6 +4,7 @@
 
 const JsUnit = imports.jsUnit;
 
+const Assertions = imports.common.assertions;
 const Environment = imports.ui.environment;
 Environment.init();
 
@@ -95,18 +96,6 @@ const testsModifyScope = [
     "Main[Main.foo+=-1]."
 ];
 
-
-
-// Utility function for comparing arrays
-function assertArrayEquals(errorMessage, array1, array2) {
-    JsUnit.assertEquals(errorMessage + ' length',
-                        array1.length, array2.length);
-    for (let j = 0; j < array1.length; j++) {
-        JsUnit.assertEquals(errorMessage + ' item ' + j,
-                            array1[j], array2[j]);
-    }
-}
-
 //
 // Test javascript parsing
 //
@@ -147,7 +136,7 @@ for (let i = 0; i < testsGetDeclaredConstants.length; i++) {
     let text = testsGetDeclaredConstants[i].input;
     let match = JsParse.getDeclaredConstants(text);
 
-    assertArrayEquals('Test testsGetDeclaredConstants ' + i,
+    Assertions.assertArrayEquals('Test testsGetDeclaredConstants ' + i,
                      match, testsGetDeclaredConstants[i].output);
 }